package controlador;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import vista.Mensaje;
import vista.VentanaEvaluaciones;
import vista.VentanaPrincipal;
import modelo.Seccion;

public class EscuchadorVentanaEvaluaciones extends WindowAdapter implements ActionListener 
{
	private VentanaEvaluaciones referencia;
    private Seccion seccion; 
    
    public EscuchadorVentanaEvaluaciones(VentanaEvaluaciones referencia, Seccion seccion)
    {
    	this.referencia = referencia;
    	this.seccion = seccion;
    }
    
	@Override
	public void actionPerformed(ActionEvent evt) 
	{
		if (evt.getSource() == this.referencia.getBtnSalir())
			cerrarVentana();
		else if(evt.getSource() == this.referencia.getBtnAplicarE())
		{
			if (seccion.getProfesor() != null)
			{
				if(!seccion.getEstudiantes().isEmpty())
				{
					seccion.aplicarEvaluaciones();
					Mensaje.mostrarInformacion("Las Evaluaciones se Aplicaron con Exito");
				}
				else
					Mensaje.mostrarError("No hay Estudiantes inscritos en la seccion");
			}
			else
				Mensaje.mostrarError("No hay Profesor asignado en la seccion");
			
			inicializarVentana();
		}
		
	}
	public void windowClosing(WindowEvent evt)
    {
        cerrarVentana();
    }
    private void cerrarVentana()
    {
       new VentanaPrincipal(seccion);
       this.referencia.setVisible(false);
       this.referencia.dispose();  
    }
    public void windowOpened(WindowEvent evt)
    {
        inicializarVentana();
    }
    private void inicializarVentana()
    {
       
            if (seccion.isEvaluacionesAplicadas() )
            {
                this.referencia.getBtnAplicarE().setEnabled(false);
                this.referencia.getLblPromedio().setText("Promedio del Curso: " + seccion.getPromedioNotas());
                
            }
            else
            {
            	this.referencia.getBtnAplicarE().setEnabled(true);
                this.referencia.getLblPromedio().setText("Promedio del Curso: ");
            }
            
    }
}
